/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Modelo;

import BaseDatos.Conexion;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

/**
 *
 * @author JEANPIERE
 */
public class HistorialExamenes {
    
      Connection cn;

    public HistorialExamenes() {
           Conexion con = new Conexion();
        cn = con.conectar();
    }
    
    
    public  ArrayList<Examen> buscarExamenesProfesor(String codigoProfesor){//metodo para buscar los examenes creados del profe
        ArrayList<Examen> examenes= examenes = new ArrayList<>();
        int cont=0;
        try
        {
            String sql = "SELECT * FROM examen WHERE codigoProfesor=?";
            PreparedStatement cmd = cn.prepareStatement(sql);
            cmd.setString(1, codigoProfesor);
          
            ResultSet rs = cmd.executeQuery();
            while(rs.next())
            {
               
                Examen examen = new Examen();
                examen.setCodigo(Integer.toString(rs.getInt(1)));
                examen.setCodigoProfesor(rs.getString(2));
                examen.setContexto(rs.getString(3));
                examen.setNumPregunta(rs.getInt(4));
                examen.setDuracion(rs.getInt(5));
                examen.setActivo(rs.getBoolean(6));
               
                examenes.add(examen);
                cont++;
            }
          
            cmd.close();
            cn.close();
        }
        catch(Exception ex)
        {
            System.out.println("Error2: " + ex.getMessage());
           
        }
       if(cont!=0)
        return examenes;
       else
           return null;// no ha crado nada de examenes el profe
        
    }
    
    
    
    public Examen accederExamenAlumno(String codigoProfesor){
        Examen examenaux=null;
         try
        {
            String sql = "SELECT * FROM examen WHERE codigoProfesor=? AND activo=?" ;
            PreparedStatement cmd = cn.prepareStatement(sql);
            cmd.setString(1, codigoProfesor);
            cmd.setBoolean(2, true);
          
            ResultSet rs = cmd.executeQuery();
            if(rs.next())
            {
               
                Examen examen = new Examen();
                examen.setCodigo(Integer.toString(rs.getInt(1)));
                examen.setCodigoProfesor(rs.getString(2));
                examen.setContexto(rs.getString(3));
                examen.setNumPregunta(rs.getInt(4));
                examen.setDuracion(rs.getInt(5));
                examen.setActivo(rs.getBoolean(6));
               examenaux=examen;
                
            }
          
            cmd.close();
            cn.close();
        }
        catch(Exception ex)
        {
            System.out.println("Error2: " + ex.getMessage());
           
        }
         return examenaux;//Si da null significa que el alumno no tiene examenes pendientes creados por el profe
    }
    public String retornarContexto(String codigoExamen){
        String contexto="";
          try
        {
            String sql = "SELECT * FROM examen WHERE codigo=?" ;
            PreparedStatement cmd = cn.prepareStatement(sql);
            cmd.setString(1, codigoExamen);
          
          
            ResultSet rs = cmd.executeQuery();
            if(rs.next())
            {
               
               contexto= rs.getString(3);
              
                
            }
          
            cmd.close();
            cn.close();
        }
        catch(Exception ex)
        {
            System.out.println("Error2: " + ex.getMessage());
           
        }
          return contexto;
    }
    
}
